package com.ruoyi.system.domain;

import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

/**
 * 数字化化进度实体类
 * 对应数据库表：digitization_progress
 *
 * @author admin
 * @date 2025-08-24
 */
public class DigitizationProgress extends BaseEntity {
    private static final long serialVersionUID = 1L;

    /**
     * 主键ID
     */
    private Long id;

    /**
     * 档案类型（如：移民文书档案、新中国成立后档案等）
     */
    @Excel(name = "档案类型")
    private String archiveType;

    /**
     * 总文件数（该类型档案的总数量）
     */
    @Excel(name = "总文件数")
    private Long totalFiles;

    /**
     * 已数字化文件数
     */
    @Excel(name = "已数字化文件数")
    private Long digitizedFiles;

    /**
     * 数字化率（百分比）
     */
    @Excel(name = "数字化率(%)")
    private Double digitizationRate;

    // getter和setter方法
    public Long getId() {
        return id;
    }

    public void setId(Long id) {
        this.id = id;
    }

    public String getArchiveType() {
        return archiveType;
    }

    public void setArchiveType(String archiveType) {
        this.archiveType = archiveType;
    }

    /**
     * 获取总文件数（对应reNum字段）
     */
    public Long getTotalFiles() {
        return totalFiles;
    }

    public void setTotalFiles(Long totalFiles) {
        this.totalFiles = totalFiles;
    }

    /**
     * 获取已数字化文件数（对应digNumn字段）
     */
    public Long getDigitizedFiles() {
        return digitizedFiles;
    }

    public void setDigitizedFiles(Long digitizedFiles) {
        this.digitizedFiles = digitizedFiles;
    }

    public Double getDigitizationRate() {
        return digitizationRate;
    }

    public void setDigitizationRate(Double digitizationRate) {
        this.digitizationRate = digitizationRate;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)
                .append("id", getId())
                .append("archiveType", getArchiveType())
                .append("totalFiles", getTotalFiles())
                .append("digitizedFiles", getDigitizedFiles())
                .append("digitizationRate", getDigitizationRate())
                .append("createTime", getCreateTime())
                .append("updateTime", getUpdateTime())
                .append("createBy", getCreateBy())
                .append("updateBy", getUpdateBy())
                .append("remark", getRemark())
                .toString();
    }
}